package co.com.coomeva.adminEvaluacion.delegado;

import java.util.List;

import co.com.coomeva.adminEvaluacion.logica.EdColaboradorJefeLogica;
import co.com.coomeva.adminEvaluacion.logica.EdEvaluacionLogica;
import co.com.coomeva.adminEvaluacion.logica.EmpleadoBasicoVLogica;
import co.com.coomeva.adminEvaluacion.modelo.entidades.EdColaboradorJefe;
import co.com.coomeva.adminEvaluacion.modelo.entidades.consulta.Consulta;

/*
 * Los Bean siempre se dirigen primero a esta clase
 */
public class DelegadoEdEstadoEvaluaciones {
	public static EmpleadoBasicoVLogica  logicaEmpleado = null;	
	public static EdEvaluacionLogica  logicaEvaluacion = null;	
	
	private static DelegadoEdEstadoEvaluaciones delegado = null;
	
	public static DelegadoEdEstadoEvaluaciones getInstance() {
		if(delegado == null){
			delegado = new DelegadoEdEstadoEvaluaciones();
			logicaEmpleado = EmpleadoBasicoVLogica.getInstance();
			logicaEvaluacion = EdEvaluacionLogica.getInstance();
		}
		return delegado;
	}

/*	public List<EdColaboradorJefe> consultarColaboradorJefe(String empCodigo, Long consPeriodo,Long empEmpresa, Long empCargo,String empCargoNombre, Long empGrado, Long empDivision, String empDivisionNombre, Long empDepto,String empDeptoNombre, Long empArea,String empAreaNombre, String jefeCodigo, Long jefeCargo,String jefeCargoNombre, Long jefeGrado, Long jefeDivision, Long jefeDepto, Long jefeArea, Long rolCodigo) throws Exception {
		return logicaEmpleado.consultarColaboradorJefe(empCodigo, consPeriodo,empEmpresa, empCargo, empCargoNombre, empGrado, empDivision, empDivisionNombre, empDepto, empDeptoNombre, empArea, empAreaNombre, jefeCodigo, jefeCargo, jefeCargoNombre, jefeGrado, jefeDivision, jefeDepto, jefeArea, rolCodigo);
	}
	

	
	public void crearEdColaboradorJefe(String empCodigo, Long consPeriodo,Long empEmpresa, Long empCargo,String empCargoNombre, Long empGrado, Long empDivision, String empDivisionNombre, Long empDepto,String empDeptoNombre, Long empArea,String empAreaNombre, String jefeCodigo, Long jefeCargo,String jefeCargoNombre, Long jefeGrado, Long jefeDivision, Long jefeDepto, Long jefeArea, Long rolCodigo) throws Exception {
		logicaEmpleado.crearEdColaboradorJefe(empCodigo, consPeriodo,empEmpresa, empCargo, empCargoNombre, empGrado, empDivision, empDivisionNombre, empDepto, empDeptoNombre, empArea, empAreaNombre, jefeCodigo, jefeCargo, jefeCargoNombre, jefeGrado, jefeDivision, jefeDepto, jefeArea, rolCodigo);
	}
	*/
	
	public List<Consulta> consultarEstadoEvaluaciones(String empCodigo, Long consPeriodo, Long empCargo, String jefeCodigo, Long jefeCargo, String estado) throws Exception {
		return logicaEmpleado.consultarEstadoEvaluaciones(empCodigo, consPeriodo, empCargo, jefeCodigo, jefeCargo, estado);
	}
	
	public String exportarAExcel(String empCodigo, Long consPeriodo, Long empCargo, String jefeCodigo, Long jefeCargo, String estado) throws Exception {
		return logicaEmpleado.exportarAExcel(empCodigo, consPeriodo, empCargo, jefeCodigo, jefeCargo, estado);
	}
	
	public String obtenerArchInconsistencias() {
		return logicaEmpleado.getStrNombreArchivo();
	}

	public void eliminarEvaluacion(String empCodigo, Long consPeriodo, String motivo, String usuario) throws Exception {
		logicaEvaluacion.eliminarEvaluacion(empCodigo, consPeriodo, motivo, usuario);
	}
	

	public void abrirEvaluacion(String empCodigo, Long consPeriodo, String motivo, String usuario) throws Exception {
		logicaEmpleado.abrirEvaluacion(empCodigo, consPeriodo, motivo, usuario);
		
	}
	
	
}
